Information processing apparatus and operating method thereof

ABSTRACT

A method of operating an information processing apparatus may include collecting gait information of a walking assistance apparatus; determining a gait feature of a user of the walking assistance apparatus based on the collected gait information; and controlling the walking assistance apparatus by determining a gait group of the user based on the determined gait feature.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority under 35 U.S.C. § 119 to Korean PatentApplication No. 10-2019-0012110, filed on Jan. 30, 2019, in the KoreanIntellectual Property Office, the entire contents of which areincorporated herein by reference in their entirety.

BACKGROUND 1. Field

Some example embodiments relate to controlling a walking assistanceapparatus.

2. Description of the Related Art

With the current onset of the aging society, an increasingly largenumber of people suffer from pain and discomfort due to joint issues.The developments in the medical field have also brought the lifeextension. However, as the quality of life is emphasized through thehealthy life, a concept of service that assists the elderly or disabledpeople to live like people who do not suffer from such pain anddiscomfort is emphasized. In particular, there is an increasing interestin a walking assistance apparatus that may assist elderly people orpatients having walking issues due to their uncomfortable joints.

SUMMARY

Some example embodiments relate to a method of operating an informationprocessing apparatus.

In some example embodiments, the method may include collecting gaitinformation associated with a walking assistance apparatus; determininga gait feature of a user of the walking assistance apparatus based onthe gait information; and controlling the walking assistance apparatusbased on the gait feature.

In some example embodiments, the determining the gait feature includesdetermining gait indices of the user based on the gait information; andgenerating a gait feature vector based on the gait indices.

In some example embodiments, the gait indices include at least one of awalking speed of the user, a number of steps of the user, a step lengthof the user, a gait symmetry of the user, a motion range of the user ina roll direction of walking, and a motion range of the user in a pitchdirection of walking.

In some example embodiments, the gait symmetry indicates a level ofsymmetry between legs of the user while the user is walking.

In some example embodiments, the controlling includes determining a gaitgroup of the user based on a gait feature vector corresponding to thegait feature that is within a range that includes a walking speed of theuser; and transmitting walking strategy information associated with thegait group.

In some example embodiments, the controlling further includes applying aweight vector to the gait feature vector.

In some example embodiments, the determining the gait feature includesdetermining a walking speed of the user based on at least one ofacceleration information and angular velocity information associatedwith the walking assistance apparatus; and determining a gait symmetryof the user based on a first ratio and a second ratio, the first ratiobeing a time of a swing phase over a time of a stance phase of a leftfoot of the user, and the second ratio being a time of a swing phaseover a time of a stance phase of a right foot of the user.

In some example embodiments, the determining the gait feature includesdetermining a number of steps of the user based on a swing count of anencoder associated with the walking assistance apparatus; anddetermining a step length of the user based on at least one of a motionrange, an angular velocity range, and an angular acceleration range ofhip joints of the user.

In some example embodiments, the determining the gait feature includesdetermining an angle of a motion in each of a roll direction and a pitchdirection based on measurements obtained by an inertial sensorassociated with the walking assistance apparatus.

In some example embodiments, the gait information includes at least oneof (i) acceleration information and angular velocity informationassociated with the walking assistance apparatus and (ii) angleinformation and angular velocity information associated with the walkingassistance apparatus.

Some example embodiments relate to an information processing apparatus.

In some example embodiments, the information processing apparatusincludes a memory configured to store gait information associated with awalking assistance apparatus; and a processor configured to, determine agait feature of a user of the walking assistance apparatus based on thegait information, and control the walking assistance apparatus based onthe gait feature.

In some example embodiments, the processor is further configured to,determine gait indices of the user based on the gait information, andgenerate a gait feature vector based on the gait indices.

In some example embodiments, the gait indices include at least one of awalking speed of the user, a number of steps of the user, a step lengthof the user, a gait symmetry of the user, and a motion range of the userin a roll direction of walking, and a motion range of the user in apitch direction of walking.

In some example embodiments, the gait symmetry indicates a level ofsymmetry between legs of the user while the user is walking.

In some example embodiments, the processor is further configured to,determine a gait group of the user based on a gait feature vectorcorresponding to the gait feature that is within a range that includes awalking speed of the user, and transmit walking strategy informationassociated with the gait group.

In some example embodiments, the processor is further configured toapply a weight vector to the gait feature vector.

In some example embodiments, the processor is further configured to,determine a walking speed of the user based on at least one ofacceleration information and angular velocity information of the walkingassistance apparatus, and determine a gait symmetry of the user based ona first ratio and a second ratio, the first ratio being a time of aswing phase over a time of a stance phase of a left foot of the user andthe second ratio being a time of a swing phase over a time of a stancephase of a right foot of the user.

In some example embodiments, the processor is further configured to,determine a number of steps of the user based on a swing count of anencoder associated with the walking assistance apparatus, and determinea step length of the user based on at least one of a motion range, anangular velocity range, and an angular acceleration range of hip jointsof the user.

In some example embodiments, the processor is further configured todetermine an angle of a motion in each of a roll direction and a pitchdirection based on measurements obtained by an inertial sensorassociated with the walking assistance apparatus.

In some example embodiments, the gait information includes at least oneof (i) acceleration information and angular velocity informationassociated with the walking assistance apparatus, and (ii) angleinformation and angular velocity information associated with the walkingassistance apparatus.

Additional aspects of example embodiments will be set forth in part inthe description which follows and, in part, will be apparent from thedescription, or may be learned by practice of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects will become apparent and more readilyappreciated from the following description of example embodiments, takenin conjunction with the accompanying drawings of which:

FIG. 1 illustrates an example of a walking system according to at leastone example embodiment;

FIGS. 2 and 3 illustrate examples of a walking assistance apparatusaccording to at least one example embodiment;

FIGS. 4 and 5 illustrate examples of determining, by an informationprocessing apparatus, a gait feature according to at least one exampleembodiment;

FIGS. 6 and 7 illustrate examples of determining, by an informationprocessing apparatus, a gait group according to at least one exampleembodiment;

FIG. 8 is a flowchart illustrating an example of a method of operatingan information processing apparatus according to at least one exampleembodiment;

FIG. 9 illustrates an example of an information processing apparatusaccording to at least one example embodiment; and

FIG. 10 illustrates another example of a walking system according to atleast one example embodiment.

DETAILED DESCRIPTION

Hereinafter, some example embodiments will be described in detail withreference to the accompanying drawings. Regarding the reference numeralsassigned to the elements in the drawings, it should be noted that thesame elements will be designated by the same reference numerals,wherever possible, even though they are shown in different drawings.Also, in the description of example embodiments, detailed description ofwell-known related structures or functions will be omitted when it isdeemed that such description will cause ambiguous interpretation of thepresent disclosure.

It should be understood, however, that there is no intent to limitexample embodiments to the particular example embodiments disclosedherein. On the contrary, the example embodiments are to cover allmodifications, equivalents, and alternatives falling within the scope ofthe example embodiments. Like numbers refer to like elements throughoutthe description of the figures.

The terminology used herein is for the purpose of describing particularexample embodiments only and is not intended to be limiting. As usedherein, the singular forms “a,” “an,” and “the,” are intended to includethe plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises,”“comprising,” “includes,” and/or “including,” when used herein, specifythe presence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

It should also be noted that in some alternative implementations, thefunctions/acts noted may occur out of the order noted in the figures.For example, two figures shown in succession may in fact be executedsubstantially concurrently or may sometimes be executed in the reverseorder, depending upon the functionality/acts involved.

Unless otherwise defined herein, all terms used herein includingtechnical or scientific terms have the same meanings as those generallyunderstood by one of ordinary skill in the art. Terms defined indictionaries generally used should be construed to have meaningsmatching with contextual meanings in the related art and are not to beconstrued as an ideal or excessively formal meaning unless otherwisedefined herein.

FIG. 1 illustrates an example of a walking system according to at leastone example embodiment.

Referring to FIG. 1 , a walking system 100 includes an informationprocessing apparatus 110 and a plurality of walking assistanceapparatuses 120-1 to 120-n.

The information processing apparatus 110 may be configured as a serveror a mobile device, for example, a smartphone and a laptop computer.

Each of the walking assistance apparatuses 120-1 to 120-n assists a userwith walking. For example, the walking assistance apparatus 120-1 mayprovide an assistance force to a user based on a torque profile.Likewise, each of the other walking assistance apparatuses 120-2 to120-n may provide an assistance force to a corresponding user based on atorque profile.

At least one of the walking assistance apparatuses 120-1 to 120-n may bea hip type. A hip-type walking assistance apparatus is described withreference to FIGS. 2 and 3 . Also, a portion of the walking assistanceapparatuses 120-1 to 120-n may be a type of supporting the entire lowerbody or a portion of the lower body.

The information processing apparatus 110 collects gait information eachof the walking assistance apparatuses 120-1 to 120-n. That is, theinformation processing apparatus 110 receives gait information from eachof the walking assistance apparatuses 120-1 to 120-n. The gaitinformation may include a measurement result of at least one sensorincluded in each of the walking assistance apparatuses 120-1 to 120-n.The at least one sensor may be, for example, an inertial measurementunit (IMU) sensor, that is, an inertial sensor, and/or an encoder.However, it is provided as an example only.

The information processing apparatus 110 determines a gait feature of auser of each of the walking assistance apparatuses 120-1 to 120-n basedon gait information of each of the walking assistance apparatuses 120-1to 120-n. For example, the information processing apparatus 110 maydetermine gait indices of the user of each of the walking assistanceapparatuses 120-1 to 120-n based on the gait information of each of thewalking assistance apparatuses 120-1 to 120-n and may generate a gaitfeature vector of each user based on the determined gait indices. Here,the gait feature vectors may be classified for each walking speed range.In one example embodiment, the gait indices may include at least one of,for example, a walking speed of the user, a number of steps, a steplength, a gait symmetry, a motion range in a roll direction in the caseof walking, and a motion range in a pitch direction in the cage ofwalking. A method of determining a gait feature is described below withreference to FIGS. 4 and 5 .

The information processing apparatus 110 may control each of the walkingassistance apparatuses 120-1 to 120-n by determining a gait group ofeach user based on the gait feature of the user of each of the walkingassistance apparatuses 120-1 to 120-n. For example, the informationprocessing apparatus 110 may perform clustering based on gait featurevectors belonging to each walking speed range. Here, when the user ofthe walking assistance apparatus 120-1 belongs to a first cluster in thewalking speed range of 0 to 1 km/h, the information processing apparatus110 may transmit walking strategy information, for example, a torqueprofile or a torque output pattern, of the first cluster to the walkingassistance apparatus 120-1. The walking assistance apparatus 120-1 mayassist the user with walking based on corresponding walking strategyinformation in the walking speed range of 0 to 1 km/h, which isdescribed below with reference to FIGS. 6 and 7 .

FIGS. 2 and 3 illustrate examples of a walking assistance apparatusaccording to at least one example embodiment.

Referring to FIGS. 2 and 3 , a walking assistance apparatus 120-1 isprovided in a hip type. The description of FIGS. 2 and 3 may apply tothe walking assistance apparatuses 120-2 to 120-n.

The walking assistance apparatus 120-1 includes an IMU sensor 210, afirst encoder 220-1, and a second encoder 220-2.

The IMU sensor 210 may acquire at least one of acceleration informationand angular velocity information. For example, the IMU sensor 210 maymeasure acceleration in each of an x-axial direction, an y-axialdirection, and a z-axial direction, in response to walking of the user,and may measure a roll rate, a pitch rate, and a yaw rate.

Although not illustrated in FIGS. 2 and 3 , the walking assistanceapparatus 120-1 may include a communication interface. For example, thecommunication interface may include a wired or wireless communicationdevice capable of transmitting and/or receiving information over, forexample, a network, in a wired or wireless environment. The walkingassistance apparatus 120-1 may transmit at least one of accelerationinformation and angular velocity information acquired by the IMU sensor210 to the information processing apparatus 110 through thecorresponding communication interface.

The first encoder 220-1 may measure at least one of an angle of a lefthip joint and an angular velocity of the left hip joint of the userwhile the user is walking. The second encoder 220-2 may measure at leastone of an angle of a right hip joint and an angular velocity of theright hip joint of the user while the user is walking. The walkingassistance apparatus 120-1 may transmit a measurement result of each ofthe first encoder 220-1 and the second encoder 220-2 to the informationprocessing apparatus 110 through the communication interface.

FIGS. 4 and 5 illustrate examples of determining, by an informationprocessing apparatus, a gait feature according to at least one exampleembodiment.

Referring to FIG. 4 , the walking assistance apparatus 120-1 assists theuser with walking. Here, the walking assistance apparatus 120-1transmits a measurement result of each of the IMU sensor 210 and thefirst encoder 220-1 and the second encoder 220-2 to the informationprocessing apparatus 110.

The information processing apparatus 110 may determine gait indices ofthe user based on the measurement result of each of the IMU sensor 210,the first encoder 220-1, and the second encoder 220-2. The gait indicesmay include one or a combination of at least two of, for example, awalking speed, a number of steps, a step length, a gait symmetry, amotion range in a roll direction in the case of walking, and a motionrange in a pitch direction in the case of walking. Hereinafter, aprocess of determining, by the walking assistance apparatus 120-1, eachof the walking indices is described.

The information processing apparatus 110 may determine the walking speedof the user. In one example embodiment, the information processingapparatus 110 may calculate the walking speed of the user based on atleast one of acceleration information acquired by the IMU sensor 210 andangular velocity information acquired by each of the first encoder 220-1and the second encoder 220-2. For example, the information processingapparatus 110 may calculate the walking speed according to the followingEquation 1.

$\begin{matrix}{v = {\frac{R}{2}\left( {{{relu}\left( {\overset{.}{\theta}}_{l} \right)} + {{relu}\left( {\overset{.}{\theta}}_{r} \right)}} \right){OR}{\int a}}} & \left\lbrack {{Equation}1} \right\rbrack\end{matrix}$

In Equation 1, v denotes the walking speed, R denotes a leg length ofthe user, {dot over (θ)}_(l) denotes angular velocity informationacquired by the first encoder 220-1, {dot over (θ)}_(r) denotes angularvelocity information acquired by the second encoder 220-2, and reludenotes a rectified linear unit (ReLU) function. According to Equation1, the information processing apparatus 110 may determine the walkingspeed based on a result value of a ReLU function of the angular velocityinformation acquired by the first encoder 220-1, a result value of aReLU function of the angular velocity information acquired by the secondencoder 220-2, and the leg length of the user.

In Equation 1, a denotes acceleration information acquired by the IMUsensor 210. According to Equation 1, the information processingapparatus 110 may determine, as the walking speed, an integral value ofthe acceleration information acquired by the IMU sensor 210.

Depending on example embodiments, the information processing apparatus110 may determine, as the walking speed of the user, an addition of aresult acquired by applying a first weight to

$\frac{R}{2}\left( {{{relu}\left( {\overset{.}{\theta}}_{l} \right)} + {{relu}\left( {\overset{.}{\theta}}_{r} \right)}} \right)$and a result acquired by applying a second weight to ∫a.

The information processing apparatus 110 may determine the number ofsteps of the user. In one example embodiment, the information processingapparatus 110 may calculate a number of steps per unit time (n/t) basedon a swing count of the first encoder 220-1 or the second encoder 220-2.For example, when the first encoder 220-1 swings 60 times for 60seconds, the information processing apparatus 110 may determine that theuser has made a single step per second. Depending on exampleembodiments, the information processing apparatus 110 may calculate thenumber of steps per unit time by counting a number of impact poles ofthe walking assistance apparatus 120-1 in a z-axial direction.

The information processing apparatus 110 may determine the step lengthof the user. In one example embodiment, the information processingapparatus 110 may determine the step length of the user based on atleast one of a motion range, an angular velocity range, and an angularacceleration range of both thighs or both hip joints of the user. Themotion range of both thighs may include, for example, a maximum angle(L_length_front) and a minimum angle (L_length_rear) of a left hip jointmeasured by the first encoder 220-1 and a maximum angle (R_length_front)and a minimum angle (R_length_rear) of a right hip joint measured by thesecond encoder 220-2. The angular velocity range of both thighs mayinclude, for example, a maximum value (R_vel_Max) and a minimum value(R_vel_min) of an angular velocity of a right thigh and a maximum value(L_vel_Max) and a minimum value (L_vel_min) of an angular velocity of aleft thigh. The angular acceleration range of both thighs may include,for example, a maximum value (R_acc_Max) and a minimum value (R_acc_min)of angular acceleration of the right thigh and a maximum value(L_acc_Max) and a minimum value (L_acc_min) of angular acceleration ofthe left thigh.

The information processing apparatus 110 may determine the gait symmetryof the user. The gait symmetry may represent a level of symmetry betweenboth legs of the user while the user is walking. In one exampleembodiment, the information processing apparatus 110 may determine thegait symmetry of the user based on a ratio between a time of a swingphase and a time of a stance phase of a left foot of the user and aratio between a time of a swing phase and a time of a stance phase of aright foot of the user. For example, the information processingapparatus 110 may determine the gait symmetry of the user according tothe following Equation 2.symmetry=log(L_ratio/R_ratio)  [Equation 2]

L_ratio=time of stance phase of left foot/time of swing phase of leftfoot

R_ratio=time of stance phase of right foot/time of swing phase of rightfoot

If walking of the user is close to a symmetrical gait, the gait symmetrymay be calculated to be close to zero according to Equation 2.

Referring to FIG. 5 , the user may perform a motion in a roll directionand a pitch direction while the user is walking. In the case of normalwalking, a motion in the roll direction and the pitch direction isbarely present. However, if the user rocks during walking, the motion inthe roll direction and the pitch direction is present. To represent themotion as a numerical value, the information processing apparatus 110may calculate at least one of an angle of the motion in the rolldirection and an angle of the motion in the pitch direction based on ameasurement result of the IMU sensor 210. In one example embodiment, theinformation processing apparatus 110 may estimate the motion of the userin the roll direction and the motion of the user in the pitch directionby estimating a z-axial gravity component and accordingly, may verify amaximum value (roll_foward) and a minimum value (roll_rear) of roll andmay verify a maximum value (pitch_left) and a minimum value(pitch_right) of pitch.

The information processing apparatus 110 generates the gait featurevector based on the determined gait indices. For example, theinformation processing apparatus 110 may generate the gait featurevector x=[v, n/t, L_length_front, L_length_rear, R_length_front,R_length_rear, symmetry, roll_front, roll_rear, pitch_left,pitch_right].

The information processing apparatus 110 may identify a walking speedrange that includes the walking speed v from among the entire walkingspeed ranges, and may classify the gait feature vector x into theidentified walking speed. For example, when the walking speed rangesinclude 0 to 1 km/h, 1 to 2 km/h, 2 to 3 km/h, and 3 to 4 km/h, and thewalking speed is calculated as 0.5 km/h, the information processingapparatus 110 may classify the gait feature vector x into the walkingspeed range of 0 to 1 km/h.

During an update period T, the information processing apparatus 110 mayreceive a variety of gait information from the walking assistanceapparatus 120-1, may generate a gait feature vector of each piece ofgait information, and may classify each gait feature vector into acorresponding walking speed range. An example of a gait feature vectorfor each walking speed range during the update period T is shown in thefollowing Table 1.

TABLE 1 0 to 1 km/h 1 to 2 km/h 2 to 3 km/h 3 to 4 km/h x_(—) _(k) x_(—)_(m) x_(—) _(n) x_(—) _(p) x_(—) _(k+1) x_(—) _(m+1) x_(—) _(n+1) x_(—)_(p+1) . . . . . . . . . . . . x_(—) _(k+a) x_(—) _(m+b) x_(—) _(n+c)x_(—) _(p+d)

Referring to Table 1, gait feature vectors x__(k) to x__(k+a) of theuser during the update period T belong to the walking speed range of 0to 1 km/h, gait feature vectors x__(m) to x__(m+b) of the user duringthe update period T belong to the walking speed range of 1 to 2 km/h,gait feature vectors x__(n) to x__(n+c) of the user during the updateperiod T belong to the walking speed range of 2 to 3 km/h, and gaitfeature vectors x__(p) to x__(p+d) of the user during the update periodT belong to the walking speed range of 3 to 4 km/h.

The walking speed ranges of Table 1 are provided as examples only andthe walking speed ranges disclosed herein are not limited thereto.

In one example embodiment, the information processing apparatus 110 mayderive an average vector of gait feature vectors that belong to eachwalking speed range and may determine the average vector of each walkingspeed range as a gait vector of the user in each corresponding walkingspeed range. For example, when the average vector of the gait featurevectors x__(k) to x__(k+a) is x_(1_1), the information processingapparatus 110 may determine the average vector x_(1_1) as the gaitfeature of the user in the walking speed range of 0 to 1 km/h during theupdate period P. When the average vector of the gait feature vectorsx__(m) to x__(m+b) is x_(2_1), the information processing apparatus 110may determine the average vector x_(2_1) as the gait feature of the userin the walking speed range 1 to 2 km/h during the update period T. Also,when the average vector of the gait feature vectors x__(n) to x__(n+c)is x_(3_1), the information processing apparatus 110 may determine theaverage vector x_(3_1) as the gait feature of the user in the walkingspeed range 2 to 3 km/h during the update period T. When the averagevector of the gait feature vectors x__(p) to x__(p+d) is x_(4_1), theinformation processing apparatus 110 may determine the average vectorx_(4_1) as the gait feature of the user in the walking speed range 3 to4 km/h during the update period T.

The description made above with reference to FIGS. 4 and 5 may apply toan example in which the information processing apparatus 110 determinesthe gait feature of the user of each of the other walking assistanceapparatuses 120-2 to 120-n and thus, a further description relatedthereto is omitted.

An example of a result of determining, by the information processingapparatus 110, the gait feature of the user of each of the walkingassistance apparatuses 120-1 to 120-n for each walking speed rangeduring the update period T is shown in the following Table 2.

TABLE 2 0 to 1 km/h 1 to 2 km/h 2 to 3 km/h 3 to 4 km/h x₁ _(—) ₁ x₂_(—) ₁ x₃ _(—) ₁ x₄ _(—) ₁ x₁ _(—) ₂ x₂ _(—) ₂ x₃ _(—) ₂ x₄ _(—) ₂ . . .. . . . . . . . . x₁ _(—) _(n) x₂ _(—) _(n) x₃ _(—) _(n) x₄ _(—) _(n)

Referring to Table 2, x_(1_1) denotes, for example, a gait feature ofthe user of the walking assistance apparatus 120-1 during the updateperiod T, x_(1_2) denotes, for example, a gait feature of the user ofthe walking assistance apparatus 120-2 during the update period T, andx_(1_n) denotes a gait feature of the user of the walking assistanceapparatus 120-n during the update period T.

In a subsequent update period, the information processing apparatus 110may determine a gait feature of the user of each of the walkingassistance apparatuses 120-1 to 120-n. The description made above withreference to FIGS. 4 and 5 may also be applied. Accordingly, a furtherdescription is omitted here.

FIGS. 6 and 7 illustrate examples of determining, by an informationprocessing apparatus, a gait group according to at least one exampleembodiment.

Referring to FIG. 6 , the information processing apparatus 110 mayperform clustering, for example, hierarchical clustering based on gaitfeature vectors that belong to each walking speed range. In the exampleof FIG. 6 , the information processing apparatus 110 may performclustering based on the gait feature vectors x_(1_1) to x_(1_n) that areclassified into the walking speed range 0 to 1 km/h of Table 2. Forexample, the information processing apparatus 110 may calculate adistance of each of the gait feature vectors x_(1_1) to x_(1_n)according to the following Equation 3, and may form clusters based onthe distance of each of the gait feature vectors x_(1_1) to x_(1_n).L=x ^(T) Wx  [Equation 3]

In Equation 3, L denotes a distance and W denotes a weight vector.

Likewise, the information processing apparatus 110 may performclustering based on the gait feature vectors x_(2_1) to x_(2_n) that areclassified into the walking speed range 1 to 2 km/h of Table 2, mayperform clustering based on the gait feature vectors x_(3_1) to x_(3_n)that are classified into the walking speed range 2 to 3 km/h of Table 2,and may perform clustering based on the gait feature vectors x_(4_1) tox_(4_n) that are classified into the walking speed range 3 to 4 km/h ofTable 2.

FIG. 7 illustrates a clustering result in the walking speed range 0 to 1km/h.

Referring to FIG. 7 , a total of five clusters 610-1 to 610-5 may begenerated. A number of the clusters 610-1, 610-2, 610-3, 610-4, and610-5 is provided as an example only. Although it is not illustrated inFIG. 7 , a plurality of clusters may be generated in each of the walkingspeed range of 1 to 2 km/h, the walking speed range of 2 to 3 km/h, andthe walking speed range of 3 to 4 km/h.

In the example of FIG. 7 , the gait feature vector x_(1_1) of the userof the walking assistance apparatus 120-1 may belong to the cluster610-2, the gait feature vector x_(1_2) of the user of the walkingassistance apparatus 120-2 may belong to the cluster 610-1, and the gaitfeature vector x_(1_n) of the user of the walking assistance apparatus120-n may belong to the cluster 610-4.

The information processing apparatus 110 may transmit walking strategyinformation of a determined gait group of a corresponding user to awalking assistance apparatus of the corresponding user. For example,when the cluster 610-1 corresponds to a group of stroke patients withhemiplegia, the information processing apparatus 110 may transmitwalking strategy information within the walking speed range of 0 to 1km/h to the walking assistance apparatus 120-2. Here, the walkingstrategy information may include, for example, a torque profile to applyan assistance force using an asymmetric assistance method.

In one example embodiment, the information processing apparatus 110 maymonitor recovery or deterioration of degree of pathological walking ofthe user and may modify the walking strategy information of the userbased on a monitoring result. For example, when the pathological walkingof the user belonging to the cluster 610-1 is deteriorated, theinformation processing apparatus 100 may transmit, to the walkingassistance apparatus of the user, the walking strategy information inwhich the before-deterioration torque profile is modified.

FIG. 8 is a flowchart illustrating an example of a method of operatingan information processing apparatus according to at least one exampleembodiment.

Referring to FIG. 8 , in operation 810, the information processingapparatus 110 collects gait information of the walking assistanceapparatus 120-1.

In operation 820, the information processing apparatus 110 determines agait feature of the user of the walking assistance apparatus 120-1 basedon the collected gait information.

In operation 830, the information processing apparatus 110 controls thewalking assistance apparatus 120-1 by determining a gait group of theuser based on the determined gait feature.

The descriptions made above with reference to FIGS. 1 to 7 may apply toFIG. 8 and thus, a further description is omitted here.

FIG. 9 illustrates an example of an information processing apparatusaccording to at least one example embodiment.

Referring to FIG. 9 , the information processing apparatus 110 includesa memory 910 and a processor 920. Further, the information processingapparatus 110 may further include a communication interface. Forexample, the communication interface may include a wired or wirelesscommunication device capable of transmitting and/or receivinginformation with the walking assistance apparatuses 120-1 to 120-n over,for example, a network, in a wired or wireless environment.

The memory 910 stores gait information of the walking assistanceapparatus 120-1. The memory 910 stores gait information of each of theother walking assistance apparatuses 120-2 to 120-n.

Further, the memory 910 may store instructions that, when executed byprocessing circuitry included in, for example, the processor 920,configures the processor 920 as a special purpose computer to determinea gait feature of the user of the walking assistance apparatus 120-1based on the gait information of the walking assistance apparatus 120-1and controls the walking assistance apparatus 120-1 by determining agait group of the user based on the determined gait feature. Therefore,the processing circuitry may improve the functioning of the walkingassistance apparatus 120-1 by performing qualitative evaluation of agait of the user from a remote location and provide feedback toaccurately control the walking assistance apparatus 120-1 based on theevaluation.

Likewise, the processor 920 determines a gait feature of a user of eachof the other walking assistance apparatuses 120-2 to 120-n based on gaitinformation of each of the other walking assistance apparatuses 120-2 to120-n and controls each of the other walking assistance apparatuses120-2 to 120-n by determining a gait group of each user based on thedetermined gait feature of each user.

The descriptions made above with reference to FIGS. 1 to 8 may apply toFIG. 9 and thus, a further description is omitted here.

FIG. 10 illustrates another example of a walking system according to atleast one example embodiment.

Referring to FIG. 10 , a walking system 1000 includes an informationprocessing apparatus 110, a plurality of walking assistance apparatuses120-1 to 120-n, and a plurality of terminals 1010-1 to 1010-n.

Each of the plurality of terminals 1010-1 to 1010-n may be a mobileterminal, for example, a smartphone and a tablet, or a fixed terminal,for example, a personal computer (PC).

The plurality of walking assistance apparatuses 120-1 to 120-n and theplurality of terminals 1010-1 to 1010-n may be connected to each other,respectively, in a wired or wireless manner. For example, the pluralityof walking assistance apparatuses 120-1 to 120-n and the plurality ofterminals 1010-1 to 1010-n may form a near field wireless network, forexample, Bluetooth and ZigBee, respectively.

Each of the plurality of walking assistance apparatuses 120-1 to 120-nmay transmit gait information to the information processing apparatus110 through each corresponding terminal among the plurality of terminals1010-1 to 1010-n. Also, each of the plurality of walking assistanceapparatuses 120-1 to 120-n may receive walking strategy information fromthe information processing apparatus 110 through each correspondingterminal among the plurality of terminals 1010-1 to 1010-n.

The descriptions made above with reference to FIGS. 1 to 9 may apply toFIG. 10 and thus, a further description is omitted here.

The units and/or modules described herein may be implemented usinghardware components, software components, and/or combinations thereof.For example, the hardware components may include microphones,amplifiers, band-pass filters, audio to digital convertors, andprocessing devices. A processing device may be implemented using one ormore hardware device configured to carry out and/or execute program codeby performing arithmetical, logical, and input/output operations. Theprocessing device(s) may include a processor, a controller and anarithmetic logic unit, a digital signal processor, a microcomputer, afield programmable array, a programmable logic unit, a microprocessor orany other device capable of responding to and executing instructions ina defined manner. The processing device may run an operating system (OS)and one or more software applications that run on the OS. The processingdevice also may access, store, manipulate, process, and create data inresponse to execution of the software. For purpose of simplicity, thedescription of a processing device is used as singular; however, oneskilled in the art will appreciated that a processing device may includemultiple processing elements and multiple types of processing elements.For example, a processing device may include multiple processors or aprocessor and a controller. In addition, different processingconfigurations are possible, such a parallel processors.

The software may include a computer program, a piece of code, aninstruction, or some combination thereof, to independently orcollectively instruct and/or configure the processing device to operateas desired, thereby transforming the processing device into a specialpurpose processor. Software and data may be embodied permanently ortemporarily in any type of machine, component, physical or virtualequipment, computer storage medium or device, or in a propagated signalwave capable of providing instructions or data to or being interpretedby the processing device. The software also may be distributed overnetwork coupled computer systems so that the software is stored andexecuted in a distributed fashion. The software and data may be storedby one or more non-transitory computer readable recording mediums.

The methods according to the above-described example embodiments may berecorded in non-transitory computer-readable media including programinstructions to implement various operations of the above-describedexample embodiments. The media may also include, alone or in combinationwith the program instructions, data files, data structures, and thelike. The program instructions recorded on the media may be thosespecially designed and constructed for the purposes of exampleembodiments, or they may be of the kind well-known and available tothose having skill in the computer software arts. Examples ofnon-transitory computer-readable media include magnetic media such ashard disks, floppy disks, and magnetic tape; optical media such asCD-ROM discs, DVDs, and/or Blue-ray discs; magneto-optical media such asoptical discs; and hardware devices that are specially configured tostore and perform program instructions, such as read-only memory (ROM),random access memory (RAM), flash memory (e.g., USB flash drives, memorycards, memory sticks, etc.), and the like. Examples of programinstructions include both machine code, such as produced by a compiler,and files containing higher level code that may be executed by thecomputer using an interpreter. The above-described devices may beconfigured to act as one or more software modules in order to performthe operations of the above-described example embodiments, or viceversa.

A number of example embodiments have been described above. Nevertheless,it should be understood that various modifications may be made to theseexample embodiments. For example, suitable results may be achieved ifthe described techniques are performed in a different order and/or ifcomponents in a described system, architecture, device, or circuit arecombined in a different manner and/or replaced or supplemented by othercomponents or their equivalents. Accordingly, other implementations arewithin the scope of the following claims.

Example embodiments of the inventive concepts having thus beendescribed, it will be obvious that the same may be varied in many ways.Such variations are not to be regarded as a departure from the intendedspirit and scope of example embodiments of the inventive concepts, andall such modifications as would be obvious to one skilled in the art areintended to be included within the scope of the following claims.

What is claimed is:
 1. A method of operating an information processingapparatus including a processor, the information processing apparatusbeing remotely connected to a plurality of walking assistanceapparatuses via a communications interface, the method comprising:receiving, from a walking assistance apparatus among the plurality ofwalking assistance apparatuses, gait information of a user collectedusing at least one sensor of the walking assistance apparatus andtransmitted to the information processing apparatus via thecommunications interface; determining gait indices of the user based onthe gait information, the gait indices including at least a walkingspeed of the user; generating a first gait feature vector of the userbased on the gait indices; obtaining second gait feature vectors ofother users, the second gait feature vectors being clustered into aplurality of gait groups each assigned to a different walking speedrange, each of the plurality of gait groups having a torque profileassociated therewith; determining a selected gait group from among theplurality of gait groups having a walking speed range that overlaps thewalking speed of the user; clustering on the first gait feature vectorof the user into the selected gait group; and transmitting, to thewalking assistance apparatus, the torque profile associated with theselected gait group such that the walking assistance apparatus providesa torque to the user based on the torque profile associated with theselected gait group.
 2. The method of claim 1, wherein the gait indicesfurther include at least one of a number of steps of the user, a steplength of the user, a gait symmetry of the user, a motion range of theuser in a roll direction of walking, and a motion range of the user in apitch direction of walking.
 3. The method of claim 2, wherein the gaitsymmetry indicates a level of symmetry between legs of the user whilethe user is walking.
 4. The method of claim 1, further comprises:applying a weight vector to the first gait feature vector.
 5. The methodof claim 1, wherein the determining the gait indices comprises:determining the walking speed of the user based on at least one ofacceleration information and angular velocity information associatedwith the walking assistance apparatus; and determining a gait symmetryof the user based on a first ratio and a second ratio, the first ratiobeing a time of a swing phase over a time of a stance phase of a leftfoot of the user, and the second ratio being a time of a swing phaseover a time of a stance phase of a right foot of the user.
 6. The methodof claim 1, wherein the determining the gait indices comprises:determining a number of steps of the user based on a swing count of anencoder associated with the walking assistance apparatus; anddetermining a step length of the user based on at least one of a motionrange, an angular velocity range, and an angular acceleration range ofhip joints of the user.
 7. The method of claim 1, wherein thedetermining the gait indices comprises: determining an angle of a motionin each of a roll direction and a pitch direction based on measurementsobtained by an inertial sensor associated with the walking assistanceapparatus.
 8. The method of claim 1, wherein the gait informationincludes at least one of (i) acceleration information and angularvelocity information associated with the walking assistance apparatusand (ii) angle information and the angular velocity informationassociated with the walking assistance apparatus.
 9. An informationprocessing apparatus comprising: a communication interface connected toa plurality of walking assistance apparatuses such that the informationprocessing apparatus is remotely connected to the plurality of walkingassistance apparatuses via the communications interface; a memoryconfigured to store gait information for a user collected using at leastone sensor of a walking assistance apparatus among the plurality ofwalking assistance apparatuses and transmitted to the informationprocessing apparatus via the communications interface; and a processorconfigured to: determine gait indices of the user based on the gaitinformation, the gait indices including at least a walking speed of theuser, generate a first gait feature vector of the user based on the gaitindices; obtain second gait feature vectors of other users, the secondgait feature vectors being clustered into a plurality of gait groupseach assigned to a different walking speed range, each of the pluralityof gait groups having a torque profile associated therewith; determine aselected gait group from among the plurality of gait groups having awalking speed range that overlaps the walking speed of the user; clusterthe first gait feature vector of the user into the selected gait group;and transmit, to the walking assistance apparatus, the torque profileassociated with the selected gait group such that the walking assistanceapparatus provides a torque to the user based on the torque profileassociated with the selected gait group.
 10. The information processingapparatus of claim 9, wherein the gait indices further include a numberof steps of the user, a step length of the user, a gait symmetry of theuser, and a motion range of the user in a roll direction of walking, anda motion range of the user in a pitch direction of walking.
 11. Theinformation processing apparatus of claim 10, wherein the gait symmetryindicates a level of symmetry between legs of the user while the user iswalking.
 12. The information processing apparatus of claim 9, whereinthe processor is further configured to apply a weight vector to thefirst gait feature vector.
 13. The information processing apparatus ofclaim 9, wherein the processor is further configured to, determine thewalking speed of the user based on at least one of accelerationinformation and angular velocity information of the walking assistanceapparatus, and determine a gait symmetry of the user based on a firstratio and a second ratio, the first ratio being a time of a swing phaseover a time of a stance phase of a left foot of the user and the secondratio being a time of a swing phase over a time of a stance phase of aright foot of the user.
 14. The information processing apparatus ofclaim 9, wherein the processor is further configured to, determine anumber of steps of the user based on a swing count of an encoderassociated with the walking assistance apparatus, and determine a steplength of the user based on at least one of a motion range, an angularvelocity range, and an angular acceleration range of hip joints of theuser.
 15. The information processing apparatus of claim 9, wherein theprocessor is further configured to determine an angle of a motion ineach of a roll direction and a pitch direction based on measurementsobtained by an inertial sensor associated with the walking assistanceapparatus.
 16. The information processing apparatus of claim 9, whereinthe gait information includes at least one of (i) accelerationinformation and angular velocity information associated with the walkingassistance apparatus, and (ii) angle information and the angularvelocity information associated with the walking assistance apparatus.